[Home] Python으로 돌아가기

파일 입출력 - 퀴즈 및 레포트

목차

1. 참조 자료
2. 퀴즈
3. 해설 및 코드
4. 레포트

1. 참조 자료

관련 동영상: https://youtu.be/T3d56g3FF18

2. 퀴즈

당신의 회사에서는 매주 1회 작성해야 하는 보고서가 있다.
보고서의 기본 형식은 다음과 같다.

- X 주차 주간보고 -
부서 : 
이름 : 
업무 요약 :

1주차부터 4주차까지의 보고서 파일을 생성하는 프로그램을 작성하라.

조건: 파일명은 '1주차.txt', '2주차.txt', ... 와 같다.

출력 예시: 프로그램 실행 후, 동일한 디렉토리에 다음과 같은 4개의 파일이 생성된다.

1주차.txt
2주차.txt
3주차.txt
4주차.txt

3. 해설 및 코드

사용할 개념:

for i in range(1, 5):
    with open(f"{i}주차.txt", "w", encoding="utf8") as report_file:
        report_file.write(f"- {i} 주차 주간보고 -\n")
        report_file.write("부서 : \n")
        report_file.write("이름 : \n")
        report_file.write("업무 요약 : ")

4. 레포트

1940년 5월 18일, 미국 캘리포니아주 엘센트로시에서 대형 지진이 처음으로 계측되었다.
해당 지진 데이터를 open 문을 사용하여 불러온 후, read 문으로 읽고, matplotlib을 활용하여 그래프를 출력하라.

파일 정보:

코드:

import numpy as np
import matplotlib.pyplot as plt

def load_data(file, skip_rows=6):
    with open(file, 'r') as f:
        lines = f.readlines()
    data = [float(value) for line in lines[skip_rows:] for value in line.split()]
    return np.array(data)

acceleration = load_data("ELCENTRO_0.DAT")
time = np.arange(0, len(acceleration) * 0.02, 0.02)

plt.plot(time, acceleration)
plt.xlabel("Time (sec)")
plt.ylabel("Acceleration (g)")
plt.title("El Centro Earthquake Acceleration")
plt.grid(True)
plt.show()

출력 예시:

El Centro 지진 그래프